import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {SharedModule} from "@shared/shared.module";
import {TrainComponent} from "./train.component";
import {TrainRoutingModule} from "@train/train-routing.module";
import {TrainService} from "@train/train.service";
import {StudentListComponent} from "@train/remark/student-list/student-list.component";
import {RemarkDetailComponent} from "@train/remark/remark-detail/remark-detail.component";
import {EditComponent} from "@train/plan/edit/edit.component";
import {PlanComponent} from "@train/plan/plan.component";
import {ClassListComponent} from "@train/remark/class-list/class-list.component";
import {EditTeachingInformationComponent} from "@train/plan/edit-teaching-information/edit-teaching-information.component";
import {EditTeachingProcessComponent} from "@train/plan/edit-teaching-process/edit-teaching-process.component";
import {EditClassSummaryComponent} from "@train/plan/edit-class-summary/edit-class-summary.component";
import {LessonListComponent} from './remark/lesson-list/lesson-list.component';
import {TechingDetailComponent} from './plan/teching-detail/teching-detail.component';
import {PlanService} from "@train/plan/plan.service";
import {ParentService} from "@train/parent/parent.service";
import {RollCallComponent} from "@train/roll-call/roll-call.component";
import {CountComponent} from "@train/count/count.component";
import {CourseComponent} from "@train/course/course.component";
import {RemarkComponent} from "@train/remark/remark.component";
import {ReactiveFormsModule} from "@angular/forms";

import {TRAIN_COMPONENTS} from "@train/components";
import {TrainScheduleComponent} from "@train/parent/schedule/schedule.component";
import {TrainParentComponent} from "@train/parent/parent.component";
import {TrainChildDetailComponent} from "@train/parent/child-detail/child-detail.component";
import {ClassDetailComponent} from "@train/parent/class-detail/class-detail.component";

import {TrainChildGrowUpComponent} from "@train/parent/grow-up/grow-up.component";
import {NgxEchartsModule} from 'ngx-echarts';
import {TrainTacticalComponent} from "@train/tactical/tactical.component";
import {TrainTacticalTypeComponent} from "@train/tactical/tactical-type/tactical-type.component";
import {TrainTacticalDetailComponent} from "@train/tactical/tactical-detail/tactical-detail.component";
import {TacticalService} from "@train/tactical/tactical.service";
import {TrainGrowUpListComponent} from "@train/parent/grow-up-list/grow-up-list.component";
import { PlanDetailComponent } from './plan/teching-detail/plan-detail/plan-detail.component';
import {ViewTestScoresComponent} from "@train/parent/view-test-scores/view-test-scores.component";
import {ScoreStandardComponent} from "@train/parent/score-standard/score-standard.component";
import {SingleTestScoresComponent} from "@train/parent/single-test-scores/single-test-scores.component";
import {HistoryScoresComponent} from "@train/parent/history-scores/history-scores.component";
import {ScoresDetailsComponent} from "@train/parent/scores-details/scores-details.component";
import {AbilityGrowRecordComponent} from "@train/parent/ability-grow-record/ability-grow-record.component";
import {AbilityChangeComponent} from "@train/parent/ability-change/ability-change.component";

import {TEACHER_COMPONENTS} from "@train/teacher";
import {TeacherService} from "@train/teacher/teacher.service";
import {AbilityValueExplainComponent} from "@train/parent/ability-value-explain/ability-value-explain.component";


@NgModule({
  imports: [
    CommonModule,
    SharedModule,
    TrainRoutingModule,
    ReactiveFormsModule,
    NgxEchartsModule,
  ],
  declarations: [
    HistoryScoresComponent,
    ScoresDetailsComponent,
    AbilityGrowRecordComponent,
    AbilityChangeComponent,
    AbilityValueExplainComponent,
    SingleTestScoresComponent,
    ScoreStandardComponent,
    ViewTestScoresComponent,
    TrainComponent,
    StudentListComponent,
    RemarkDetailComponent,
    PlanComponent,
    ClassListComponent,
    EditComponent,
    EditTeachingInformationComponent,
    EditTeachingProcessComponent,
    EditClassSummaryComponent,
    LessonListComponent,
    EditComponent,
    TechingDetailComponent,
    RollCallComponent,
    CountComponent,
    CourseComponent,
    RemarkComponent,
    TrainScheduleComponent,
    TrainParentComponent,
    ClassDetailComponent,
    TrainChildDetailComponent,
    TrainChildGrowUpComponent,
    TrainGrowUpListComponent,
    TrainTacticalComponent,
    TrainTacticalTypeComponent,
    TrainTacticalDetailComponent,
    ...TRAIN_COMPONENTS,
    ...TEACHER_COMPONENTS,
    PlanDetailComponent,
  ],
  providers: [TrainService, PlanService, ParentService, TacticalService, TeacherService]
})
export class TrainModule {
}
